/**
 * 枚举
 * 枚举是数量固定的常量值，通过enum关键字声明
 *   enum Color {red, green, blue}
 * 枚举的values常量，可以获取所有枚举值列表
 *   List<Color> colors = Color.values;
 *  可以通过Index获取索引值
 *   assert(Color.red.index == 0);
 */
enum Color { red, green, blue }

void main() {
  List<Color> colors = Color.values;
  print(colors);
  // 通过下标取值
  print(colors[0]);
  // 获取index
  print(Color.red.index);

  // 使用forEach遍历
  colors.forEach((item) {
    if (item.index == 0) {
      print("red");
    }
    print('item: $item; index: ${item.index}');
  });
}
